package eu.epfc.dnet.mastermind.controller;

import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author Pierre Buvé
 */
@Controller
public class IndexController {

    /**
     * Methode appellée lors de l'appel de la page index.htm via une requete de type GET
     * @param request
     * @param model
     * @return 
     */
    @RequestMapping(value = "/index.htm", method = RequestMethod.GET)
    protected ModelAndView displayIndex(HttpServletRequest request, ModelMap model) {
        if (request.getSession().getAttribute("username") != null) {
            // Si le paramètre username est stocké dans la session, demande l'affichage du bouton de déconnexion.
            String decoButton = "Déconnecter "+ request.getSession().getAttribute("username");
            model.addAttribute("decobutton",decoButton);
        }
        return new ModelAndView("index");
    }

    /**
     * Methode appellée lors de l'appel de la page index.htm via une requete de type POST
     * @param request
     * @param model
     * @return 
     */
    @RequestMapping(value = "/index.htm", method = RequestMethod.POST)
    public ModelAndView unconnect(HttpServletRequest request, ModelMap model) {
        // Nettoye la session en retirant le paramètre username de la session.
        request.getSession().removeAttribute("username");
        if (request.getSession().getAttribute("username") != null) {
            // Si le paramètre username est stocké dans la session, demande l'affichage du bouton de déconnexion.
            String decoButton = "Déconnecter "+ request.getSession().getAttribute("username");
            model.addAttribute("decobutton",decoButton);
        }
        return new ModelAndView("index");
    }
}
